package org.jeecg.config;

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.jeecg.config.mybatis.ElasticsearchCacheInterceptor;
import org.jeecg.config.mybatis.MybatisInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 单数据源配置（jeecg.datasource.open = false时生效）
 *
 * @Author zhoujf
 */
@Configuration
@MapperScan(value = {"org.jeecg.modules.**.mapper", "cn.com.hhrcw.**.mapper"})
public class MybatisPlusConfig {

    /**
     * 参数设置
     */
    @Bean
    public MybatisInterceptor mybatisInterceptor() {
        return new MybatisInterceptor();
    }

    /**
     * es缓存插件
     */
    @Bean
    public ElasticsearchCacheInterceptor elasticsearchCacheInterceptor() {
        // 设置sql的limit为无限制，默认是500
        return new ElasticsearchCacheInterceptor();
    }
    /**
     * 分页插件
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        // 设置sql的limit为无限制，默认是500
        return new PaginationInterceptor().setLimit(-1);
    }

    //    /**
    //     * mybatis-plus SQL执行效率插件【生产环境可以关闭】
    //     */
    //    @Bean
    //    public PerformanceInterceptor performanceInterceptor() {
    //        return new PerformanceInterceptor();
    //    }

}
